package com.yupi.springbootinit.model.vo;

import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.yupi.springbootinit.model.entity.Chart;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.util.Date;
import java.util.List;

@Data
public class ChartVO {
    private Long id;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 分析目标
     */
    private String goal;
    /**
     * 图表数据
     */
    private List<String> chartDatas;
    /**
     * 图表类型
     */
    private String chartType;
    /**
     * 生成的图表数据
     */
    private String genChart;
    
    /**
     * 生成的分析结论
     */
    private String genResult;
    
    /**
     * 创建时间
     */
    private Date createTime;
    
    /**
     * 更新时间
     */
    private Date updateTime;
    
    private UserVO user;
    /**
     * 包装类对象
     */
    public static Chart voToObj(ChartVO chartVO){
        if(chartVO == null){
            return null;
        }
        Chart chart = new Chart();
        BeanUtils.copyProperties(chartVO,chart);
        List<String> chartDatas = chartVO.getChartDatas();
        if(chartDatas != null){
            chart.setChartData(JSONUtil.toJsonStr(chartDatas));
        }
        return chart;
    }
    /**
     * 包装类对象
     */
    public static ChartVO objToVo(Chart chart){
        if(chart == null){
            return null;
        }
        ChartVO chartVO = new ChartVO();
        BeanUtils.copyProperties(chart,chartVO);
        String chartData = chart.getChartData();
        if(chartData != null){
            chartVO.setChartDatas(JSONUtil.toList(chartData,String.class));
        }
        return chartVO;
    }
    
}
